parece que você tem o caso errado Correndo vs correndo, o seguinte funciona para mim
array[0]="Programm is running"
array[1]="Programm is down"
for i in 0 1; do
array[$i]=${array[$i]//"running"/"\e[0;32mrunning\e[0m"}
array[$i]=${array[$i]//"down"/"\e[0;31mdown\e[0m"}
done
echo ${array[0]}
echo ${array[1]}
produz
Programm is \e[0;32mrunning\e[0m
Programm is \e[0;31mdown\e[0m
com echo -e em vez de apenas echo, ele produz o texto colorido correto, no entanto, isso seria mais fácil de ser corrigido manualmente do que corrigi-lo toda vez que for executado.