Seu programa não executa um script " bin
no diretório inicial". Executa "/bin/ls"
. A chamada do sistema usa o shell, mas também usando um nome de caminho absoluto (na verdade POSIX diz o caminho é executado é a implementação definida). Não há como PATH
afetar a escolha de ls
ou do shell.
POSIX aborda o comportamento de IFS
, dizendo:
Implementations may ignore the value of
IFS
in the environment, or the absence ofIFS
from the environment, at the time the shell is invoked, in which case the shell shall set IFS to<space>
<tab>
<newline>
when it is invoked.
Se você estivesse perguntando sobre uma implementação que não se comporta dessa maneira, então (porque POSIX sugere que isso é feito com bastante frequência para observar) a implementação específica seria pertinente.