Blender API : pass collection as parameter of python operator
Campbell give me an answer in Blender mailing list.
Here is the proposed solution :

import bpy

class Item(bpy.types.PropertyGroup):
    name = bpy.props.StringProperty(name="Name")

class ExamplePanel(bpy.types.Panel):
    bl_label = "ExamplePanel"
    bl_space_type = 'VIEW_3D'
    bl_region_type = 'TOOLS'
    bl_category = "Example"

    @classmethod
    def poll(self, context):
        return True

    def draw(self, context):
        layout = self.layout
        op = layout.operator("object.example_op", text="Test")
        for src_item in bpy.context.scene.collection:
            dest_item = op.collection.add()
            dest_item.name = src_item.name


class ExampleOperator(bpy.types.Operator): 
    bl_idname = "object.example_op"
    bl_label = "Example Operator"
    bl_options = {'REGISTER'}   

    collection = bpy.props.CollectionProperty(type=Item)

    @classmethod
    def poll(self, context):
        return True

    def execute(self, context):
        for item in self.collection:
            print(item.name)
        return {'FINISHED'}

def register():
    bpy.utils.register_class(Item)
    bpy.types.Scene.collection = bpy.props.CollectionProperty(type=Item)

    it = bpy.context.scene.collection.add()
    it.name = "item1"
    it = bpy.context.scene.collection.add()
    it.name = "item2"   

    bpy.utils.register_class(ExampleOperator)
    bpy.utils.register_class(ExamplePanel)


if __name__ == "__main__":
    register()