Execa package works nicely for that. Zx has a good DX but is YA runtime.

https://github.com/sindresorhus/execa/blob/main/docs/bash.md