Если у вас есть «Bash on Ubuntu в Windows», вы можете назвать свой скрипт следующим образом:
subprocess.check_call( ['bash', '-c', './test.sh', a1, a2], shell=False)
Чтобы использовать эту функцию в Windows, вам нужна Windows 10, и вы можете следовать инструкциям в эта ссылка .
Вообще говоря, даже на Unix-машинах это будет лучшим подходом (даже если на большинстве из них .sh файлы будут выполняться без явного запуска их в bash)