Existem alguns problemas com o seu script, em que você usa citações no arquivo com URLs / locais de download.
Ou seja, quando você tem o arquivo da maneira que você faz, $dl
se torna "site" and
$ nm 'permanece como você esperaria.
Para fazer isso, você precisa alterar o arquivo para que os locais de download do site não tenham aspas e, em seguida, você precisa definir aspas em torno de $dl
no script.
Então você acabaria com isso:
lista de arquivos de entrada:
site,foobar.baz
Script:
#!/bin/bash
while IFS=, read dl nm
do
echo $dl
echo $nm
/usr/bin/ffmpeg -loglevel error -protocol_whitelist file,http,https,tcp,tls,crypto -i "$dl" -c copy $nm
done < $1
Você também pode querer envolver $nm
entre aspas, caso você tenha um nome de arquivo com espaços, mas isso é uma decisão sua ou não.