Asignación de variables bash antes del comando

Hace un par de días me encontré con un comando

AWS_ACCESS_KEY="foo" AWS_SECRET_KEY="bar" aws list iam

Veo que establecer variables antes de un comando agrega esas variables en el entorno del comando:

#make sure there is no environment variable "foo"
$ echo $foo

#mimic-ing above command
$ foo=bar printenv | grep foo
foo=bar

#or trying from python environment
$foo=bar python -c "import os; print(os.getenv('foo', None))"
bar

#foo is destroyed now
$ echo $foo  
#<<NOTHING

Intenté usar este truco para crear dinámicamente un nuevo directorio basado en la fecha de hoy:

$ dname=$(date +%d_%m_%y) mkdir ${dname} && cd ${dname}

pero recibí el siguiente error:

mkdir: missing operand
Try 'mkdir --help' for more information.

es decirdname=$(date +%d_%m_%y) echo $dname vuelve vacío!

¿Qué estoy haciendo mal? ¿Cómo puedo crear y usar dinámicamente variables en la misma línea en bash?

Respuestas a la pregunta(2)

Su respuesta a la pregunta