The handling of
#! as the first two bytes of the
file is a
kernel issue. It's the kernel that looks
at the first couple of bytes of an executable, and then
decides how to run it. When issued properly, no shell will
be involved. In fact, if the program gets fed to the shell,
the first line will be ignored.
# is, afterall, the
start of a comment.
Abigail