Subdivision
Of course, in a finite number of steps subdivision generates only polylines. But they get arbitrarily close to a limit C2 and this curve is exactly a cubic B-spline.
Start with an array of control points of length n+1. Compute from the original points new array of control points of length 2n+1 using subdivision rules for even and odd points. Then from the new array compute an array of length 4n+1 etc., (typically 4-5 steps is enough). Then draw the line segments connecting sequential control points.