Você provavelmente não deveria fazer isso; você está quebrando o padrão básico de como o Make funciona. Mas aqui está:
action:
@echo action $(filter-out $@,$(MAKECMDGOALS))
%: # thanks to chakrit
@: # thanks to William Pursell
EDIT:
Para explicar o primeiro comando,
$(MAKECMDGOALS) é a lista de "alvos" explicitada na linha de comando, por exemplo, "ação valor1 valor2".
$@é uma variável automática para o nome do destino da regra, neste caso "ação".
filter-outé uma função que remove alguns elementos de uma lista. Então $(filter-out bar, foo bar baz)retorna foo baz(pode ser mais sutil, mas não precisamos de sutileza aqui).
Reúna-os e $(filter-out $@,$(MAKECMDGOALS))retorna a lista de destinos especificados na linha de comando diferente de "ação", que pode ser "valor1 valor2".