Não é o comportamento echo . É um comportamento bash. Quando você usa echo $x form o bash recebe o seguinte comando para processar (tratar ␣ como espaço):
echo␣␣hello
Em seguida, esse comando é tokenizado e o bash recebe dois tokens: echo e hello , portanto, a saída é apenas hello
Quando você usa o formulário echo "$x" , o bash tem o seguinte na entrada do tokenizer:
echo␣"␣hello"
assim, ele tem dois tokens echo e ␣hello , então a saída é diferente.