Как в python3 передать в subprocess список как аргументы команды
Например, есть список
backup_files_list = [
"/home/user/.vim",
"/home/user/.vimrc",
"/home/user/.ssh",
"/home/user/.mybash"
]
Я хочу использовать элементы этого списка как источники для команды rsync.
run(["rsync", "-aRhv", "--delete", "--dry-run",
"--prune-empty-dirs", f"--log-file={log_file}",
" ".join([x for x in backup_files_list]),
target])
А рсинк ругается
building file list ...
rsync: [sender] link_stat "/home/user/.vim /home/user/.vimrc /home/user/.ssh /home/user/.mybash" failed: No such file or directory (2)
Я так понимаю, что рсинк расценивает этот как целую строку, а не как ряд отдельных источников. Если не джоинить, то рсинк это вообще не съест. По одному передавать в цикле не хотелось бы. Как правильно написать?
И насоветуйте нормальную литературу (именно текстовую информацию, а не видео) по использованию питона в сисадминстве линукса для скриптов и прочего. Нашел из серьезного только ОРайли, но там времен второго питона учебник.