Introduction to redo
homepage.ntlworld.com
homepage.ntlworld.com
Besides, the author is wrong about the reasoning of apenwarr to implement #! processing[0]: it's done primarily to avoid having to make .do files executable. execlp() even executes /bin/sh all by itself if no header could be recognized[1]:
"If the header of a file isn't recognized (the attempted execve(2) failed with the error ENOEXEC), these functions will execute the shell (/bin/sh) with the path of the file as its first argument. (If this attempt fails, no further searching is done.)"
[0] https://github.com/apenwarr/redo#can-my-do-files-be-written-...