Eu usaria isso
(
cd {from} &&
rsync -zavLR */correct_data/file1.txt {to}/
)
O novo ingrediente é -R , que aplica o caminho de origem de cada arquivo à raiz de destino {to} . Eu removi -r porque está implícito em -a . O -z só é relevante se o destino for realmente remoto. Você realmente pretende -L ?
O subshell mantém a pontuação do cd {from} limitado ao comando rsync .