Хотя я не думаю, что есть полностью переносимый способ сделать это (некоторые системы даже не поддерживают интерпретаторы команд), * 1001 * возвращает 0, если не было ошибок при выполнении вашей команды. Я полагаю, вы могли бы просто попробовать запустить вашу команду, а затем проверить возвращаемое значение системы.
Чтобы проверить, доступен ли интерпретатор команд, позвоните system( NULL )
и проверьте ненулевое значение.