Eu não sei sobre python, mas você pode usar GNU parallel para isso ( sudo apt install parallel ; Omito a maioria de suas opções para aumentar a clareza aqui):
parallel youtube-dl "ytsearchall:{}" -ix :::: /path/to/b.txt
Por padrão, parallel executa tantos trabalhos em paralelo quanto você tem núcleos de CPU, o que normalmente é uma boa escolha. Se você quiser definir o número de processos youtube-dl executados em paralelo, use a opção -j , por exemplo, -j2 para dois processos.
Como alternativa, você pode usar um loop while :
while IFS='' read -r l || [ -n "$l" ]; do youtube-dl "ytsearchall:$l" -ix; done </path/to/b.txt
Ambas as maneiras podem lidar com a última linha do seu arquivo que não termina em um linebreak - parallel por design, o loop com a ajuda do comando de teste [ .