system - выполнение команды shell'а
#include <stdio.h>
int system (string) char *string;
Аргумент string передается shell'у в качестве входной строки, как если бы эта строка была введена с терминала. Текущий процесс ожидает завершения shell'а, после чего функция system возвращает результат, равный коду завершения shell'а.
/bin/sh
.
в Справочнике пользователя.
Для того, чтобы запустить shell, выполняются системные вызовы fork и exec, и если один из них завершится неудачей, функция system вернет отрицательное число и поместит код ошибки в переменную errno