Before there are 10 people with "there is a library for that in Python" (because they are not and can not be ergonomic enough):
Next Generation Shell is a "real" programming language. It also has syntax for calling external programs. It handles exit codes properly. It has facility for constructing command line arguments.
Project - https://github.com/ngs-lang/ngs
Motivation related to the above - https://ilya-sher.org/2017/10/10/why-i-have-no-favorite-prog...
edit: ah, yes, NGS also supports command line arguments automatic parsing when main() is called; augmenting this facility would be the sane way to solve the problem.