Why do we have to use `sh script' instead of `script'?
In /etc/fstab, the home partition does not have execute permission. The mount option is set to noexec. The only way you can execute anything in your directory is by invoking an interpreter that is in another partition with execute permission.
Therefore you will have to execute shell scripts with `sh xx' and perl scripts with `perl xx'.
Why do we have to use cgiwrap?
In /etc/fstab, the home partition does not have execute permission. The mount option is set to noexec. The only way you can execute anything in your directory is by invoking an interpreter that is in another partition with execute permission. This is the reason why you have to use cgiwrap in the first place. `cgiwrap' is in a partition with execute permission.
How does cgiwrap work?
`cgiwrap' uses the first line in the script to find out which interpreter to use and calls that interpreter to run the script.
What does this line: `#!/bin/sh' do?
When the first line of a script begins with #!/path/interpreter that interpreter will be invoked to interpret the script The interpreter can be any shell, perl or a number of other interpreters. This feature is not implemented on all unix systems.
How do I do `sh xx' (instead of `xx') from the CGI Script call?
`/cgi-bin/cgiwrap/your_login_name/your_cgi_script'.
This URL can be followed by an extra path and/or a query string. For examples of usage see CGI examples.