In the first paragraph of the OP, it says the normal $N(t)$ of $\gamma$ should be tangent to $C$ and in the second, it says the normal should be the binormal. I went with the first one. The OP also asks how to do this without fixing the base point $C(0)$. I don't know what that means. You could have the base point depend on $t$ or $\gamma(t)$ by using $C(u(t))$ instead of $C(0)$ (or cc[c0] in the code below).
The idea is simple enough: A Frenet frame can be viewed as a rotation matrix, so all you need to do is rotate and translate $C$ into place on $\gamma$, using the frames of the two curves.
(* the curve gamma *)
gg[t_] := {5 Cos[t], 5 Sin[t], 3 ArcTan[t]};
gFSF[t_] = Simplify@Last@FrenetSerretSystem[gg[t], t];
(* the curve C *)
Clear[cFSF];
pts = {{0, 0, 1}, {1, -1, 0}, {2, 0, 1}, {3, 2, 0}, {1, 3, -1}, {0, 2,
0}, {-1, 1, 1}(*,{0,0,1}*)};
cc = BSplineFunction[pts, SplineClosed -> True];
cFSF[t0_?NumericQ] := Append[#, Cross @@ #] &[ (* FrenetSerretSystem sometimes failed *)
Table[Indexed[Derivative[n][cc][t], k], {n, 2}, {k, 3}] /.
t -> t0] // Orthogonalize;
c0 = 0.95; (* cc[c0] = C(0), base point *)
cFSF0 = cFSF[c0]; (* Frenet frame at base point *)
Show[
ParametricPlot3D[(cc[t] - cc[c0]), {t, 0, 1},
MeshFunctions -> {#4 &}, Mesh -> {{c0}}, AxesLabel -> {x, y, z}],
Graphics3D[{Thick,
MapThread[{#2, Arrow[{0 cc[c0], 0 cc[c0] + #}]} &, {cFSF0, {Blue,
Orange, Darker@Green}}]}],
PlotRange -> All
]

Show[
ParametricPlot3D[gg[t], {t, -2 Pi, 2 Pi},
PlotStyle -> {Thick, Red}],
ParametricPlot3D[
gg[t] + Transpose@gFSF[t].RotateRight@cFSF0.(cc[s] - cc[c0]),
{t, -2 Pi, 2 Pi}, {s, 0, 1}, Mesh -> {40, 0}],
PlotRange -> 8, ImageSize -> 300, SphericalRegion -> True
]

ParametricPlot3D– Michael E2 May 11 '17 at 18:12