A função de biblioteca system()
C usa sh
para executar o comando fornecido. Ao fazer isso, ele faz uma pesquisa pelo executável nos diretórios em $PATH
, a menos que o programa já esteja especificado com um caminho absoluto. A função de biblioteca execl()
C não faz essa pesquisa.
Você deseja usar a família de funções exec
para executar seu programa e, em seguida, usar execlp()
, que faz uma pesquisa PATH
.
Veja man execlp
no seu sistema.