Você precisa citar as variáveis e evitar a substituição de comandos:
for i in ./*.mkv; do ffmpeg -i "${i}" -vcodec copy -acodec copy "${i}.mp4"; done
Veja Quando é necessário fazer uma cotação dupla? para obter uma explicação detalhada sobre citando.
Enquanto estou nisso, o acima produz arquivos com uma extensão .mkv.mp4
; para corrigir isso:
for i in ./*.mkv; do ffmpeg -i "${i}" -vcodec copy -acodec copy "${i%%.mkv}.mp4"; done