Você não está citando duas vezes qualquer uma das suas variáveis. Duplicar suas strings (incluindo strings com variáveis) fará com que elas sejam tratadas como um único token. Caso contrário, eles serão tratados como listas delimitadas por espaços em branco de tokens. Isso se aplica mesmo se o espaço em branco ocorrer após expansão de parâmetro - como está acontecendo na sua situação.
Para uma discussão mais aprofundada sobre por que isso é importante, veja o seguinte post:
Veja a aparência do seu script:
#!/bin/bash
echo "Checking File Copy"
SRC_DIR="/home/user/src"
echo "Source Directory: ${SRC_DIR}"
TGT_DIR="/media/user/tgt"
echo "Target Directory: ${TGT_DIR}"
cd "${SRC_DIR}"
for file_name in *.txt
do
echo "${file_name}"
sum "${TGT_DIR}/${file_name}"
sum "${file_name}"
done
Você notará que eu citei as strings assim como as variáveis. Estritamente falando, isso não é realmente necessário aqui, mas provavelmente é bom ter o hábito de citar tudo o que você deseja considerar como um único token.
Eu também usei a sintaxe de chaves para suas variáveis. Novamente, isso provavelmente não é necessário nesta situação exata, mas eu consideraria isso uma prática recomendada em geral. Para mais discussões sobre a sintaxe de chaves, veja o seguinte post: