Isso deve funcionar:
LDNAME="ld -m blah"
case "$LDNAME" in "ld -m"*) echo foo;; esac
Você precisa deixar o caractere curinga * sem aspas, caso contrário, ele será considerado como um caractere literal.
Mas, na verdade, se tudo o que você quer é remover -m e qualquer coisa depois, você pode usar apenas LDNAME=${LDNAME%% -m*} .
LDNAME="ld -m blah"
LDNAME=${LDNAME%% -m*}
echo ":$LDNAME:"
dá :ld: .