Сделать файл исполняемым, язык C, ОС Linux execl

Необходимо через execl сделать файл исполняемым, к сожалению компилятор ругается execl(“/bin/bash”,"chmod +x”,1.txt, NULL)


Ответы (1 шт):

Автор решения: 0xdb

Ошибка компиляции тут, забыли кавычки:

execl(“/bin/bash”,"chmod +x”,1.txt, NULL)
                             ^^^^^

Посмотрите мануал man execl, и сделайте как там написано:

#include <unistd.h>

int main (int argc, char *argv[]) {

    return execl ("/bin/chmod", "chmod", "+x", argv[1] , (char*) NULL);
}
$ ./mkexe 1.txt; ll 1.txt
-rwxr-xr-x 1 me me 0 Aug 28 14:23 1.txt
→ Ссылка