Eu vi exemplos de scripts de wrapper que, em poucas palavras, são os seguintes:
#!/bin/bash
myprog=sleep
echo "This is the wrapper script, it will exec "$myprog""
exec "$myprog" "$@"
Como visto acima, eles usam execpara substituir o shell recém-criado quase imediatamente pelo $myprog. Pode-se conseguir o mesmo sem exec:
#!/bin/bash
myprog=sleep
echo "This is the wrapper script, it will exec "$myprog""
"$myprog" "$@"
Neste último exemplo, uma nova instância do bash é iniciada e, em seguida, $myproginiciada como um processo filho da instância do bash.
Quais são os benefícios da primeira abordagem?
execbuiltin .