#!/bin/csh
echo zot
I gave it permissions as follows:
hayek% ls -lt test
-rwx--x--x 1 norm agorics
27 Feb 1 09:52 test*
Thus allowing others to execute, but not read, the file. The "#!" means that the rest of the line is the name of a program that is to interpret and obey the rest of the lines in the file. "/bin/csh" is the name of a file holding a shell program that will print "zot" upon obeying the command "echo zot".
Others got "Permission denied" or a total hang upon trying to execute my file. It was eventually pointed out that /bin/csh had to read the file to obey it and /bin/csh ran with the other's authority which didn't permit reading.
The kernel is the program that knows the meaning of "#!". My file gave the kernel explicit instructions that /bin/csh was the program to obey the file. The kernel knew that interpreters obey files by reading them. It should have conveyed read only access for the file to /bin/csh.