I have a pokemon with protect and wondergaurd will it still hit even if I use protect or detect?
Protect will cover it.
No, protect/detect blocks everything except feint, which does not affect shedinja anyway