Evaluación perezosa en Bash

¿Hay alguna forma más elegante de hacer una evaluación perezosa que la siguiente:

pattern='$x and $y'
x=1
y=2
eval "echo $pattern"

resultados:

1 and 2

Funciona peroeval "echo ..." simplemente se siente descuidado y puede ser inseguro de alguna manera. ¿Hay una mejor manera de hacer esto en Bash?

Respuestas a la pregunta(3)

Su respuesta a la pregunta