O problema não está em sudo
, mas nas suas citações. Use aspas simples em vez de aspas duplas.
Se você quiser que uma variável seja interpretada por um subshell em qualquer contexto ( sudo
, ssh
, etc.), você precisa escapar do seu significado especial para que sua análise não ocorra dentro do shell atual.
Isso está efetivamente sendo enviado para o sudo:
/bin/bash -c (export DIR=/etc/sources.list.d; echo dir is ; mkdir -p ; touch /cloudera.list)