sustituyendo una cadena en lugar de variable en shell

Paso una cadena como argumento a un script de shell. y el script de shell debería decirme si el argumento pasado es una variable

algo como est

if [ ! -z ${$1} ] ; then  
echo yes! $1 is a variable and its value is ${$1}  
fi

pero esto me da una mala sustitución err ..

Definitivamente sé que me falta algo ... ¡ayúdame!

Eg uso:

$ myscript.sh HOME  
yes! HOME is a variable and its value is /home/raj

Respuestas a la pregunta(2)

Su respuesta a la pregunta