setLinearVelocity() won’t work unless the object’s physics type is set to Dynamic or Rigid Body (which can be enabled on cameras). However, you probably don’t want to do this since your camera will then be affected by physics.
If you want an object to move along a local axis, you should create a vector directed along that axis and then rotate the vector before adding it to the object’s position.
from mathutils import Vector
# create vector along x-axis
vec = Vector([1.0, 0, 0])
# align the vector with the camera's x-axis
vec.rotate(cam.worldOrientation)
# move the camera
cam.worldPosition += vec
from mathutils import Vector
# create vector along x-axis
vec = Vector([1.0, 0, 0])
# get object orientation, to x,y,z coordinates
rot = cam.worldOrientation.to_euler()
rot.x = 0
# align the vector with the camera's x-axis
vec.rotate(rot)
# move the camera
cam.worldPosition += vec