Você pode marcar os arquivos .mp4 disponíveis e chamar mkvmerge neles.
for f in *.mp4; do
mkvmerge "$f" "${f%.*}_ar.srt" -o "${f%.*}.mkv"
done
Não tenho certeza se o conjunto de caracteres é necessário, mas há um argumento --sub-charset TID:character-set
. TID é o número da faixa que eu suponho ser 0 ou 1. Tente sem primeiro, mas se não funcionar, tente adicionar --sub-charset 0:WINDOWS-1256
ao comando.