Kinematic rolling cylinder in C++ which follows a path

Hello,

Could you tell me how a can make a “rolling” cylinder which follows a defined path? I already know (x,y,z) position vs time. This object must interract with other physic objects (friction, etc.).

Thank you in advance.