Системный вызов
выполнит нужную вам программу (с параметрами). Системный вызов () вызывает оболочку. Так что изнутри программы на C, если вы хотите удалить файл, вы можете вызвать систему с "rm filename"
в качестве аргумента (это всего лишь случай использования - определенно не то, как вы хотите удалить файл из программы на C)
Вы должны использовать system () только тогда, когда знаете, что делаете. Если пользовательский ввод является какой-либо частью аргумента системного вызова, вам следует убедиться, что вы дезинфицируете свой ввод, чтобы не открывать себя для инъекций команд.
Пример внедрения команды с помощью системного вызова: здесь
Альтернативы системе являются popen и, очевидно, fork + exec.