You'd want to use the excellent splat (*) operator for that.

lambda { |check, *statuses|  @check = check if statuses.include?
(object.status) }

To get an idea of what happens, see the following:

irb(main):011:0> test = lambda { |c, *args|  puts c.inspect; puts
args.inspect }
=> #<Proc:0x00044d40@(irb):11>
irb(main):012:0> test.call('test')
"test"
[]
=> nil
irb(main):013:0> test.call('test', 1)
"test"
[1]
=> nil
irb(main):014:0> test.call('test', 1,2,3,4)
"test"
[1, 2, 3, 4]
=> nil

--
-yossef