Я видел примеры сценариев-оболочек, которые в двух словах следующие:
#!/bin/bash
myprog=sleep
echo "This is the wrapper script, it will exec "$myprog""
exec "$myprog" "$@"
Как видно выше, они execпочти сразу же заменяют вновь созданную оболочку на $myprog. Можно добиться того же без exec:
#!/bin/bash
myprog=sleep
echo "This is the wrapper script, it will exec "$myprog""
"$myprog" "$@"
В этом последнем примере новый экземпляр bash запускается, а затем $myprogзапускается как дочерний процесс экземпляра bash.
Каковы преимущества первого подхода?
execвстроенной оболочки .