Adding image to a video file using ffmpeg
According to Ogg specifications you can take two Ogg files and simply concatenate them together, so you can encode that single image as a single frame Ogg and then do the concatenation however you do that in your Operating System (you didn't state which one).

Unfortunately, while this is completely allowed by the standard, many players will have hard time playing such a file. Let's say you have two files that you concatenate, VLC, for example, will restart the time progress when it will get to the beginning of the second one, making it very difficult to control the position in the video. And some other players may completely freak out when they see that the file continues after it should have ended.

On GNU/Linux there is a oggCat inside libogg package, but i've had mixed success with it... sometimes it works, and sometimes it doesn't. And to the best of my knowledge it's written in C++, so you won't be able to directly use the code from it anyhow, but it may give you clues of how to make it work.