I don't think there is an event for when spectators hit their attack button. You'd have to do client_PreThink with get_user_button(id) & IN_ATTACK. It would still be sorta screwed though, then you'd have to spawn an ent above a player, and attach_view to that.
This has been tried before but no one was ever able to. What I put above is just throwing out random ideas, don't take it for writing in stone.