#include<unistd.h> int main(int argc, char **argv) { int ret; ret = execve("/bin/bash", NULL, NULL); return 0; }
Я не понимаю, почему нулевые значения передаются в execve. пожалуйста помогите .....
Эти параметры соответствуют аргументам программы и среде. Передавая NULL для обоих, вызывающая сторона указывает, что никакие аргументы не должны быть предоставлены программе, и никакие переменные среды также не должны быть предоставлены.
этот код открывает новую оболочку ..... например, при выполнении любой команды оболочка копирует себя и выполняет команду.