Назовите программу так:
(cd /c; /a/helloworld)
Скобки приводят к появлению субоболочки. Эта под-оболочка затем меняет свой рабочий каталог на /c
, затем выполняет helloworld
с /a
. После выхода из программы суб-оболочка завершает работу, возвращая вас к вашему приглашению родительской оболочки в каталоге, из которого вы начали.
Обработка ошибок: Чтобы избежать запуска программы без изменения каталога, например, сделав ошибку /c
, сделайте исполнение helloworld
условным:
(cd /c && /a/helloworld)
Сокращение использования памяти: Чтобы избежать потери памяти в оболочке во время выполнения hello world, вызовите helloworld
через exec:
(cd /c && exec /a/helloworld)
[Спасибо Джошу и Джулиано за советы по улучшению этого ответа!]