Você poderia fazer
map <F5> !mycommand shellescape(expand('%'))<CR>
shellescape() faz o escapes todo o caractere especial na string (ex espaços)
expand() expande a string nesse caso o nome do arquivo atual.
No entanto, o mapa só deve ter sido analisado quando o mapa foi executado. Isso pode acontecer se você tiver um autocmd que executa <F5> ou Isso pode acontecer se você usou map em outro lugar e foi executado. Seria melhor usar as versões noremap do mapa, a menos que você queira mapeamentos recursivos.