Outra maneira seria usar o IFS , o método interno do shell para dividir sequências em campos.
OLDIFS=$IFS
IFS=':'
set -f
for host in $hostlist; do
set +f
echo "$host"
done
set +f
IFS=$OLDIFS
set -f
desativa a geração de nome de arquivo (globbing): sem ele, curingas *?\[
seriam expandidos em cada palavra.