Os argumentos para o interpretador neste caso são os argumentos construídos após a interpretação da linha shebang, combinando a linha shebang com o nome do script e seus argumentos de linha de comando.
Assim, um script AWK começando com
#! /usr/bin/awk -f
chamado myscript
e chamado como
./myscript file1 file2
resulta nos argumentos reais
/usr/bin/awk -f ./myscript file1 file2
O único argumento opcional é -f
neste caso. Nem todos os intérpretes precisam de um (veja /bin/sh
, por exemplo), e muitos sistemas só permitem no máximo um (para que sua linha de shebang não funcione como você espera). O argumento pode conter espaços embora; todo o conteúdo da linha shebang depois que o intérprete é passado como um único argumento.
Para experimentar linhas shebang, você pode usar #! /bin/echo
(embora isso não ajuda a distinguir argumentos quando há espaços envolvidos).
Veja Como os programas são executados para uma explicação mais detalhada de como as linhas shebang são processadas (no Linux).