Crie um script sed que faça todas as substituições e, em seguida, aplique o script sed ao seu arquivo.
for (( i=0; i<${#OLD[@]}; ++i )); do
printf 's/%s/%s/g\n' "${OLD[$i]}" "${NEW[$i]}"
done >script.sed
sed -f script.sed inputfile >outputfile && mv outptufile inputfile && rm script.sed
Desta forma, você limita o número de vezes que você precisa analisar o arquivo de entrada para um.
Para os dados fornecidos em OLD e NEW , o script sed será gerado como
s/_MAIN1_/#111/g
s/_MAIN2_/#222/g