Вывод getcwd
показывает, что вы должны поместить свой файл a.out
в
/home/chengxuyuan/CLionProjects/Project_1/cmake-build-debug
Ваша попытка
execl("Home/CLionProjects/Project_1/a.out", "a.out", NULL);
неверна, это не полный путь. Вы должны будете использовать
execl("/home/chengxuyuan/CLionProjects/Project_1/a.out", "a.out", NULL);
КСТАТИ: Вы должны указать то же значение, что и аргумент 0, который вы используете для запуска программы, т.е.
execl("/home/chengxuyuan/CLionProjects/Project_1/a.out", "/home/chengxuyuan/CLionProjects/Project_1/a.out", NULL);
или
execl("./a.out", "./a.out", NULL);
Это то, что будет делать оболочка и чего ожидает большинство программ.