Seu script define uma variável mux com seu valor sendo o grande comando mkvmerge que você colou, literalmente com todas as aspas duplas e tudo mais: observe como as aspas duplas são escapadas para que sejam incluídas literalmente em a string.
Depois disso:
"$mux"
Que tenta executar um comando com o nome do conteúdo dessa variável, espaços e aspas e tudo. Como não há comando chamado "/usr/bin/mkvmerge" -o "test.mkv" "--default-track" etc ..., você recebe o erro.
Tem certeza de que essa linha não deveria ser essa?
eval "$mux"
... que analisaria o conteúdo de $mux como uma linha de comando do shell, interpretando assim todos esses espaços e aspas duplas como sintaxe do shell em vez de tratá-lo literalmente?
Ou muito mais simplesmente ... apenas execute mkvmerge com todos os argumentos corretos sem primeiro criar um comando entre aspas e colocá-lo em uma variável e depois executar a variável como um comando.