Rsync обрабатывает это приятно.
Копия в качестве примера все: rsync -aP /folder1/* /folder/2
Копия в качестве примера все с исключением: rsync -aP --exclude=x /folder1/* /folder2/
-aP
переключатель:
a: Подобный cp -a
, рекурсивный, и т.д. P: Выставочный прогресс, хорошая функция rsync.
Так как Вы используете-o опцию переименовать скомпилированную программу, a.out, который Вы имеете там теперь, принадлежит чему-то еще (более ранняя версия или что-то абсолютно несвязанное).
Ваша программа, вероятно, выполняет, но просто не возвращает вывода. Проверьте размер файла и работайте file program_name
чтобы убедить себя, что это - исполняемый файл затем, видят то, что код должен сделать - берут аргумент, возможно.