Я начинаю изучать операционные системы, я пытался использовать системный вызов execle () в C, у меня есть переменная окружения DIR, которую я установил в / home, используя массив среды, подобный этому
char* path = "/bin/ls";
char* myargs[4] = {"ls", "-la", "/home", NULL};
char *const env[] = {"DIR=/home", NULL};
execle(path, myargs[0], myargs[1], "$DIR", NULL, env);
Но когда я компилирую и запускаю это, я получаю следующий вывод ls: cannot access '$DIR': No such file or directory
Однако, это, кажется, работает просто отлично execle("/bin/bash", "/bin/bash", "-c", "echo $DIR", NULL, env);
Есть ли что-то, что я неправильно понимаю в execle звоните