Ele usa _PATH_BSHELL
como execvp()
, que no Linux é definido como /bin/sh
in /usr/include/paths.h
. Isso deve ser o mesmo de quando executado com env
ou find -exec
, por exemplo.
Certamente não deve usar o shell de login do usuário. O fato de você estar vendo bash
acima é porque ele é bash
(o shell em que você insere essa linha de comando) que tenta executá-lo e quando recebe um código de erro ENOEXEC
de execve
decide interpretar em si mesmo (no modo de compatibilidade sh
).