Substituição de variável não funciona entre aspas simples. Use aspas duplas e o caractere de escape para colocar aspas duplas entre aspas duplas.
find $SRC -type f -name '*.mp4' -exec bash -c "name=\"{}\"; HandBrakeCLI -i \"$name\" -o \"${name}.tmp\" $PRESET && rm \"$name\" && mv \"${name}.tmp\" \"$name\"" \;
Isso se aplica a outras linhas também.
Atualizado: Ah desculpe. Eu interpretei mal sua pergunta.
Aqui o roteiro revisado. Em vez disso, usando exec, eu uso while-do para looping
#!/bin/bash
SRC="/home/usr/temp/encode"
PRESET="-e x264 -q 20.0 -E faac -B 128 -6 dpl2 -w 1280 --loose-crop --loose-anamorphic --x264-preset veryfast --h264-profile high --h264-level 4.1"
find $SRC -type f -name '*.mp4' | while read name; do HandBrakeCLI -i "${name}" -o "${name}.tmp" ${PRESET} && rm "${name}" && mv "${name}.tmp" "${name}"; done
find $SRC -type f -name '*.wmv' | while read name; do HandBrakeCLI -i "${name}" -o "${name%.wmv}.mp4" ${PRESET} && rm "${name}"; done
find $SRC -type f -name '*.mov' | while read name; do HandBrakeCLI -i "${name}" -o "${name%.mov}.mp4" ${PRESET} && rm "${name}"; done
exit