Отвечаю сам:
Команда cp имеет параметр --parents, отчего результат команды
cp --parents a/b/file1.txt ./files
будет копированием файла file1.txt в ./files/a/b/ Она же, команда cp, имеет чудесный параметр --link, создающий жесткие ссылки вместо копирования.