Como o strace não é um shell, o strace usa exec.
Espero que ajude.
Quando eu faço strace echo hello
, vejo que está usando /bin/echo
, mas o echo
interno deve ser encontrado primeiro. É uma funcionalidade de strace para pular comandos internos? strace - versão 4.5.19
Eu entendo que strace não funcionará em comandos embutidos da maneira como funciona em executáveis do sistema.
Quando você digita um comando no shell (por exemplo, echo hello world
), o shell interpreta esse comando e verifica se um comando interno do shell pode ser usado antes de procurar um executável separado.
Quando você usa strace
, está pedindo para localizar um executável e executá-lo em seu nome. Ao contrário do shell, strace
não possui comandos internos próprios.