$ type source
source is a shell builtin
Вот как это возможно (это имело больше смысла в вашем первоначальном, более длинном вопросе).
Нет, вы не можете воспроизвести поведение source
во внешней программе (если не использовать трюки с буферизацией ввода). Это то же самое, что и с cd
: только оболочка может изменять свое собственное внутреннее состояние, поэтому только встроенные модули оболочки могут изменять внутреннее состояние оболочки.