So spawning and shooting an arrow is no problem? To attach the arrow to a wall, I would try something like this:
You use the Hit Event to be notified about a collision of the arrow. Use the hit result to find the thing that was hit (to apply damage etc.). Disable physics for the arrow. This should make it stay where it is. Of course this is just the beginning and you can tweak this to get a better behavior. Some ideas:
If you want to attach the arrow to moving things, such as an enemy, take the component from the hit result and attach your arrow to it.
You could calculate the angle at which the arrow hit the wall and only make it stick to it, if the angle was high enough (maybe > 20). Otherwise, don’t do anything, as it just barely touched the wall.
You could also take the impact or the speed of the arrow into account to decide whether the arrow should stick or not.