This is probably very basic, but here is a drawing of what I'm trying to achieve :

Explanation : Those are 3D normalized vectors and I'm trying to change v1 to v1' based on vn.
As shown in the drawing, if vn is the "up vector" (0, 0, 1) in my case, v1 should be equal to v1'
Am I missing information ? What is the simplest way to do this ?