Las variables no llevan $ en read. Por lo tanto, no estás leyendo hacia la variable $nombre, sino hacia una nueva variable cuyo nombre es el contenido de $nombre en ese punto. Es decir:
Código bash:
Ver originalNOMBRE=yo # le damos un valor a $NOMBRE
read $nombre # por la sustitución de variables, esto se transforma en [B]read yo[/B]
echo $yo # la variable $yo contiene el valor leído, no $nombre
Cámbialo por
Saludos.