Duas expansões de chave funcionam, elas simplesmente não funcionam da maneira que você quer:
$ touch abc
$ mv {a,}b{c,d}
mv: target 'bd' is not a directory
$ echo mv {a,}b{c,d}
mv abc abd bc bd
Eles são expandidos separadamente - efetivamente, o primeiro é expandido, deixando você com mv ab{c,d} b{c,d} e, em seguida, o segundo é expandido, deixando você com mv abc abd bc bd .