система - самый кроссплатформенный способ.Но если ваш код является одноплатформенным, вы можете лучше контролировать выполнение подпрограмм, используя собственный API платформы.Как и ShellExecute в Windows.
Существует множество мест, где могут находиться нестандартные включаемые файлы, например, в той же директории, что и исходный скрипт.Такие каталоги обычно упоминаются в проекте и файле MAK проектов.Вы можете открыть эти файлы и искать дополнительные места, упомянутые в них.Но проще;) конечно, спросить самого пользователя, где находятся эти включаемые файлы.