Change pitch of a wav file without changing the Sample rate?
If you're looking for a library solution, there's a few, for instance librubberband, binaries available in many Linux distros.

If you need a wheel to reinvent, well, approaches may vary, from granular stretching (more applicable to time stretch, but these two effects always come hand in hand), to FFT uppitch (probably somewhat similar in the frequency domain), I doubt there's a standard consensus on how to implement this effect.