No need to involve shell here (#104)
diff --git a/whatif.rb b/whatif.rb
index cff11a5..a1e4244 100755
--- a/whatif.rb
+++ b/whatif.rb
@@ -45,6 +45,7 @@
 MEETINGS  = File.expand_path('../Meetings') unless defined? MEETINGS
 WHATIF = './whatif.py' unless defined? WHATIF
 
+require 'open3'
 require 'wunderbar'
 require 'tempfile'
 
@@ -63,9 +64,7 @@
 end
 
 def filtered_election(votes, seats, candidates)
-  list = candidates.join(' ')
-
-  output = `#{WHATIF} #{votes} #{seats} #{list}`
+  output, _stderr, _rc = Open3.capture3(WHATIF, votes, seats, *candidates)
   output.scan(/.*elected$/).inject(Hash.new('none')) do |results, line|
     name, status = line.scan(/^(.*?)\s+(n?o?t?\s?elected)$/).flatten
     results.merge({name.gsub(/[^[[:alnum:]]]/,'') => status.gsub(/\s/, '-')})