¿Ejecutando una lista de comandos en líneas distintas con bash -c?

¿Ejecutando una lista de comandos en líneas distintas con bash -c?

Paso una lista de comandos a un script bash a través de una variable de entorno como se muestra en el siguiente ejemplo:

CMDS='
    date > date.txt
    cat date.txt
    date | rev
' script

¿Cuál es la forma correcta de ejecutar estos comandos en el script bash?

Hice lo siguiente y parece funcionar. Es correcto ?

#! /bin/bash
bash -c "$CMDS"

información relacionada