Запуск экземпляра интерпретатора Python просто для выбора правильного исполняемого файла будет намного тяжелее, чем вам нужно. Я бы распространял файл оболочки .rc, который предоставляет псевдонимы.
В / shared / bin вы помещаете различные двоичные файлы: / shared / bin / toolname-mac, / shared / bin / toolname-debian-x86, / shared / bin / toolname-netbsd-dreamcast и т. Д. Затем, в файле .rc общей совместно используемой оболочки вы помещаете логику для установки псевдонимов в соответствии с платформой, чтобы в OSX он получал псевдоним toolname = / shared / bin / toolname-mac и т. д.
Это не будет работать, если вы все время добавляете новые инструменты, потому что пользователям нужно будет перезагрузить псевдонимы.
Я бы не советовал так распределять инструменты. Тестирование и квалификация новых сборок инструментов должны занимать достаточно времени и усилий, чтобы дополнительное время, необходимое для распространения инструментов среди пользователей, было тривиальным. Вы, кажется, оптимизируете, чтобы сократить время распространения. Замена инструментов, которые быстро в реальной среде слишком велики, может привести к длительным и запутанным простоям, если что-то пойдет не так при написании и сборке инструментов - особенно, когда возникают тонкие кроссплатформенные проблемы.