in reply to
Re^2: The basics
in thread The basics
To the shell. [...] At least on unixish systems, there is always a shell involved in this process
The #! line, also called shebang, tells nothing to any shell. It's the kernel who interprets it. When the first two bytes of an executable file are #!, the kernel runs the command that follows them, with the parameters specified, and feeds it the whole file on its standard input:
$ cat > a
#!/usr/bin/tail -n2
1
2
3
4
5
6
7
^D
$ chmod +x a
$ ./a
6
7
$ strace ./a 2>&1 | grep -c sh
0