A substituição de comandos pode ser feita por backticks, que você está usando, ou $ ().
Da referência de bash:
When the old-style backquote form of substitution is used, backslash retains its literal meaning except when followed by ‘$’, ‘'’, or ‘\’. The first backquote not preceded by a backslash terminates the command substitution. When using the $(command) form, all characters between the parentheses make up the command; none are treated specially.
Source: https://www.gnu.org/software/bash/manual/html_node/Command-Substitution.html
No seu exemplo, você está escapando da segunda barra invertida, o que quebra seu comando (além de não corresponder a sua string).
Se você quiser continuar usando backticks, seu comando deve ser:
W32BASE='echo $WD | sed 's/\\bin\\//g;s/\\/\//g''
Quando você usa $ (), barras invertidas são tratadas como você normalmente esperaria e seu comando seria:
W32BASE=$(echo $WD | sed 's/\bin\//g;s/\/\//g')